import json

import requests
import os


def batch_upload(url, file_paths, texts):
    """
    批量上传文件和文字到指定的 URL。

    :param url: 批量上传接口的 URL。
    :param file_paths: 要上传的文件路径列表。
    :param texts: 与文件对应的文字列表。
    :return: 服务器的响应。
    """
    if len(file_paths) != len(texts):
        raise ValueError("文件数量和文字数量不匹配")

    files = [('file', (os.path.basename(path), open(path, 'rb'), 'image/jpeg')) for path in file_paths]
    data = {'text': texts}

    response = requests.post(url, files=files, data=data)
    return response.json()


def batch_create_tags(url, tag_names):
    headers = {'Content-Type': 'application/json'}
    data = json.dumps({'names': tag_names})
    response = requests.post(url, headers=headers, data=data)
    return response.json()


# 示例使用
url = 'http://121.40.98.114:15000/travel/tags/batch'
tag_names = ['tag1', 'tag2', 'tag3']
response = batch_create_tags(url, tag_names)
print(response)

# 示例使用
url = 'http://121.40.98.114:15000/travel/scenic/batch'
file_paths = ['path/to/image1.jpg', 'path/to/image2.jpg']  # 这里填写你要上传的文件路径
texts = ['这是图片1的描述', '这是图片2的描述']  # 这里填写对应的文字描述
response = batch_upload(url, file_paths, texts)
print(response)
